package com.ruoyi.project.system.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 经销商档案对象 sys_customer
 * 
 * @author anan
 * @date 2021-03-02
 */
@Data
public class SysCustomer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 编号 */
    @Excel(name = "编号")
    private String code;

    /** 经销商 */
    @Excel(name = "经销商")
    private String name;

    /** 上级经销商 */
    @Excel(name = "上级经销商")
    private Long cCustomerupId;

    /** 经销商级别 */
    @Excel(name = "经销商级别")
    private Long cCusrankId;

    /** 区域经理 */
    @Excel(name = "区域经理")
    private Long areamngId;

    /** 城市 */
    @Excel(name = "城市")
    private Long cCityId;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacter;

    /** 手机 */
    @Excel(name = "手机")
    private String mobile;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 是否参与O2O */
    @Excel(name = "是否参与O2O")
    private String isO2o;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationdate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifieddate;

    /** 可用 */
    @Excel(name = "可用")
    private String isactive;

    /** 是否上线 */
    @Excel(name = "是否上线")
    private String isOnline;

    /** 子部门 */
    private List<SysCustomer> children = new ArrayList<SysCustomer>();

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setcCustomerupId(Long cCustomerupId)
    {
        this.cCustomerupId = cCustomerupId;
    }

    public Long getcCustomerupId()
    {
        return cCustomerupId;
    }
    public void setcCusrankId(Long cCusrankId)
    {
        this.cCusrankId = cCusrankId;
    }

    public Long getcCusrankId()
    {
        return cCusrankId;
    }
    public void setAreamngId(Long areamngId)
    {
        this.areamngId = areamngId;
    }

    public Long getAreamngId()
    {
        return areamngId;
    }
    public void setcCityId(Long cCityId)
    {
        this.cCityId = cCityId;
    }

    public Long getcCityId()
    {
        return cCityId;
    }
    public void setContacter(String contacter)
    {
        this.contacter = contacter;
    }

    public String getContacter()
    {
        return contacter;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setIsO2o(String isO2o)
    {
        this.isO2o = isO2o;
    }

    public String getIsO2o()
    {
        return isO2o;
    }
    public void setCreationdate(Date creationdate)
    {
        this.creationdate = creationdate;
    }

    public Date getCreationdate()
    {
        return creationdate;
    }
    public void setModifieddate(Date modifieddate)
    {
        this.modifieddate = modifieddate;
    }

    public Date getModifieddate()
    {
        return modifieddate;
    }
    public void setIsactive(String isactive)
    {
        this.isactive = isactive;
    }

    public String getIsactive()
    {
        return isactive;
    }

    public void setIsOnline(String isOnline)
    {
        this.isOnline = isOnline;
    }

    public String getIsOnline()
    {
        return isOnline;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("name", getName())
            .append("cCustomerupId", getcCustomerupId())
            .append("cCusrankId", getcCusrankId())
            .append("areamngId", getAreamngId())
            .append("cCityId", getcCityId())
            .append("contacter", getContacter())
            .append("mobile", getMobile())
            .append("address", getAddress())
            .append("remark", getRemark())
            .append("isO2o", getIsO2o())
            .append("creationdate", getCreationdate())
            .append("modifieddate", getModifieddate())
            .append("isactive", getIsactive())
            .append("isOnline", getIsOnline())
            .toString();
    }
}
